//
//  Emoticon.swift
//  表情键盘
//
//  Created by 万佳阳 on 16/8/6.
//  Copyright © 2016年 JYWan. All rights reserved.
//

import UIKit

class Emoticon: NSObject {
    // MARK:- 属性
    var code : String? {    //emoji表情的code
        didSet {
            guard let code = code else {
                return
            }
            //创建扫描器
            let scaner = NSScanner(string: code)
            
            //调用方法：扫描出code的值
            var value : UInt32 = 0
            scaner.scanHexInt(&value)
            
            //将value转换成字符
            let c = Character(UnicodeScalar(value))
            
            //将字符转换成字符串
            emojiCode = String(c)
            
        }
    }
    var chs : String?       //普通表情对应的文字
    var png : String? {     //普通表情对应的图片名称
        didSet {
            guard let png = png else {
                return
            }
            
            pngPath = NSBundle.mainBundle().bundlePath + "/Emoticons.bundle/" + png
        }
    }
    
    // MARK:- 数据处理属性
    var pngPath : String?
    var emojiCode : String?
    var isRemove = false
    var isEmpty = false
    
    
    
    // MARK:- 自定义构造方法
    init(isRemove : Bool) {
        self.isRemove = isRemove
    }
    init(isEmpty : Bool) {
        self.isEmpty = isEmpty
    }
    
    init(dict : [String : String]) {
        super.init()
        
        setValuesForKeysWithDictionary(dict)
    }
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
    //重写description属性
    override var description: String {
        return dictionaryWithValuesForKeys(["emojiCode", "chs" , "pngPath"]).description
    }
    
}
